package demo.practice.binary_search;

public class P852 {

    // [0,10,5,2]
    //先递增，再递减
    //没有重复元素
    public int peakIndexInMountainArray(int[] arr) {

        int min=0;
        int max=arr.length-1;

        while (min<max){//最终情况当min==max时，最高点就已经找到了

            int mid= min+(max-min)/2;
            if(mid+1<arr.length&& arr[mid]> arr[mid+1]){// 思考 mid+1<arr.length 是不是必然成立？
                //在mid前面或者为mid
                max=mid;
            }else{
                //在mid的后面，但arr[mid]< arr[mid+1] 的情况下，mid不可能为峰值，因为arr[mid+1]更大，所以
                min=mid+1;
            }
        }
        return min;
    }

}
